package com.woniu.dao.homePage;

import com.woniu.entity.Distribution;
import com.woniu.entity.Orders;
import com.woniu.entity.Sorting;
import com.woniu.entity.WorkUser;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;

/**
 * 前端配送Dao层
 * @author 任楷锐
 * @data 2023/3/11 14:06
 */
@Repository
public interface DistributionTwoDao {
    //配送员开始配送
    void startDispatching(@Param("status")Integer status,@Param("dispatcherId")Integer dispatcherId,@Param("id")String id);


    //接单中心的配送人员接单
    void updateDistributionId(@Param("dispatcherId")Integer dispatcherId,@Param("id")String id);

    //查询工作人员的每日和每月业绩
    Integer getOwnPerformance(@Param("dispatcherId")Integer dispatcherId,@Param("distributionBeginTime") String distributionBeginTime,@Param("distributionEndTime") String distributionEndTime);

    //查询工作人员的个人订单详情
    List<Orders> queryOwnDistributionOrders(Integer dispatcherId);

    //查询所有待配送的订单,接单中心的显示
    List<Orders> queryAllDistributionOrders();

    //根据手机号查询工作人员所有信息
    WorkUser queryWorkUser(String phone);

    //工作人员根据手机号和密码登录
    Integer LoginByPhone(String phone,String password);

    //通过手机号获取当前登录的工作人员的dispatcherId
    Integer getDispatcherIdByPhone(String phone);


    //根据手机号修改工作人员密码
    void updatePasswordByPhone(String phone,String password);

    //根据配送员id 和订单号查询所有配送信息
    Distribution findDistribution(String orderId,Integer dispatcherId);
    //插入配送表信息
    void insertDistribution(Distribution distribution);

    //修改配送表state订单状态
    void updateDistributing(Integer state,String orderId,String userId);

    //确认收货修改配送表state订单状态
    void updateDistributed(Integer state,String orderId,Long userId);

}
